const app = getApp() // 获取全局APP对象
let that = null // 页面this指针变量
let db = wx.cloud.database();
Page({

    data: {
        // latitude: 40.005631,
        // longitude: 116.347481,
        latitude: 40.003785,
        longitude: 116.34448,
        scale: 19,
        enablesatellite: false,
        markers: [],
        currentPlant: {
            name: '请选择植物标识',
            message1: '',
            message2: '',
            pic: '',
            id: '' //id
        }, //当前选择的标识的植物
        inputValue: '', //搜索的关键字
        resultList: [{
            name: 'kk'
        }, {
            name: 'hh'
        }], //搜索到的结果
        isShow: true, //显示内容
        showPlants: true, //是否显示植物图标（大于20的地图缩放级别才显示）
        objectArray: [],
        index: 0,
        isShowMessage:false
    },
    brc: function (event) {
        console.log("bindregionchange",event)
        this.setData({
            isShowMessage:false
        })
        // this.mapContext.getScale({
        //     success: res => {
        //         // console.log(res.scale)
                
        //         if (res.scale >= 20) {
        //             //缩放级别大于20才显示植物
        //             that.setData({
        //                 showPlants: true
        //             })
        //         } else {
        //             that.setData({
        //                 showPlants: false,
        //             })

        //         }
        //         that.getAllplantsMarks()
        //     }
        // })
    },
    
    //搜索框文本内容显示
    inputBind: function (event) {
        this.setData({
            inputValue: event.detail.value
        })
        console.log('bindInput' + this.data.inputValue)
        //根据输入的数据查询植物
        let key = that.data.inputValue
        if (key == "") {
            that.setData({
                isShow: true
            })
            return
        }
        db.collection('plants').where({
            name: db.RegExp({
                regexp: '.*' + key,
                options: 'i',
            })
        }).get().then(res => {
            console.log(res)
            if (res.data && res.data.length > 0) {
                that.setData({
                    isShow: false
                })
            }
            //将搜索的结果显示出来
            that.setData({
                resultList: res.data
            })
        }).catch(err => {
            console.log(err)
        })

    },
    //去植物详情页
    goToDetail: function (e) {
        //调转到植物详情页
        wx.navigateTo({
            url: '../plantShow/plantShow?id=' + e.currentTarget.dataset.id,
        })
    },
    query: function (e) {
        console.log(e)
    },

    //跳转到北林地图中心
    gotoBeiling() {
        // return
        that.setData({
            latitude: 40.005631,
            longitude: 116.347481
        })
    },
    //跳转到植物图鉴
    gotoPlantList() {
        wx.navigateTo({
            url: '../plantList/plantList',
        })
    },
    //查看植物详情
    goToShow() {
        // console.log('查看植物详情')
        // console.log(this.data.currentPlant.id)
        if (this.data.currentPlant.id == '') {
            wx.showToast({
                title: '请选择植物',
            })
            return
        }
        //调整到植物详情页
        wx.navigateTo({
            url: '../plantShow/plantShow?id=' + this.data.currentPlant.id,
        })
    },
    markertap(e) {
        this.setData({
            isShowMessage:true
        })
        // console.log(e.detail)
        // console.log(e.detail.markerId)
        let markerId = e.detail.markerId
        // console.log(that.data.markers[markerId])
        let markerPlant = that.data.markers[markerId]
        console.log('点击的植物是：', markerPlant)
        let data = {
            currentPlant: {
                name: markerPlant.plantName,
                message1: markerPlant.plantAliasName,
                message2: markerPlant.englishName,
                pic: markerPlant.iconPath,
                id: markerPlant.plantId //id
            }
        }
        this.setData(data)
    },

    //获取最新的标注
    getAllplantsMarks() {
        that.setData({
            markers:[]
        })
        
        let newList = []
        if (!that.data.showPlants) {
            let newMarkers = []
            that.setData({
                markers: newMarkers
            })
            return;
        }
        wx.cloud.callFunction({
            name: 'plantsMarksGetAll',
            success: res => {
                console.log("所有标注:",res.result.list)
                newList = res.result.list
                let newMarkers = []
                newList.forEach((item, index) => {
                    //在当前分区的标注才加入
                    if(item.plantsArea == that.data.objectArray[that.data.index]._id){
                        //
                        if(item.plant[0].markPic != undefined){
                            newMarkers.push({
                                id: index,
                                latitude: item.latitude,
                                longitude: item.longitude,
                                iconPath: item.plant[0].markPic,
                                width: '20',
                                height: '20',
                                //plant:item.plant[0] //每个标注点的植物数据 Todo:数据量大，去掉这个
                                plantName: item.plant[0].name,
                                plantAliasName: item.plant[0].aliasName,
                                plantId: item.plant[0]._id,
                                englishName: item.plant[0].englishName
                            })
                        }
                       
                    }
                   
                })
                console.log("更新的标注",newMarkers)
                that.setData({
                    markers: newMarkers
                })
            },
            fail: res => {
                console.log("err-888888")
                console.log(res)
            }
        })

    },

    gotoLocal(e) {
        // return
        //回到实时所在的位置
        // console.log("点击地图..")
        wx.getLocation({ // 获取当前位置
            type: 'gcj02', // gcj02火星坐标系，用于地图标记点位
            success(res) { // 获取成功
                //    console.log(res)
                that.setData({
                    latitude: res.latitude,
                    longitude: res.longitude
                })
            },
            fail(e) { // 获取失败
                if (e.errMsg.indexOf('auth deny') !== -1) { // 如果是权限拒绝
                    wx.showModal({ // 显示提示
                        content: '你已经拒绝了定位权限，将无法获取到你的位置信息，可以选择前往开启',
                        success(res) {
                            if (res.confirm) { // 确认后
                                wx.openSetting() // 打开设置页，方便用户开启定位
                            }
                        }
                    })
                }
            }
        })




    },
    bindPickerChange: function (e) {
        console.log('picker发送选择改变，携带值为', e.detail.value)
        this.setData({
            index: e.detail.value
        })
        this.getAllplantsMarks()
    },
    onLoad(options) {
        this.mapContext = wx.createMapContext('myMap');

        //获取到所有的区域数据
        db.collection("plantsArea").get().then(res => {
            console.log(res)
            that.setData({
                objectArray: res.data
            })
        })
        console.log('showHome--onLoad---')
    },

    onShow(option) {
        that = this // 设置页面this指针到全局that
        //清除标记点
        that.setData({
            markers:[]
        })
        this.getAllplantsMarks()
        console.log('showHome--onShow---')
    },


    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})